#include <iostream>
#include <string>
#include <regex>
#include <vector>

std::string analyze_text(std::string a) {
    std::vector<std::string> words;
    std::string word;
    for (char c : a) {
        if (c == ' ') {
            if (!word.empty()) {
                words.push_back(word);
                word.clear();
            }
        } else {
            word += c;
        }
    }
    if (!word.empty()) {
        words.push_back(word);
    }
    int num_words = words.size();
    if (num_words <= 1) {
        return "Мало данных для анализа";
    }
    int upper_ru_letters = 0;
    int latin_symbols = 0;
    int short_words = 0;
    std::string longest_word;
    int longest_word_length = 0;
    int words_with_hyphen = 0;
    for (std::string word : words) {
        if (std::regex_match(word.substr(0, 1), std::regex("[\u0410-\u042F]"))) {
            upper_ru_letters++;
        }
        if (std::regex_search(word, std::regex("[a-zA-Z]"))) {
            latin_symbols++;
        }
        if (word.length() <= 3) {
            short_words++;
        }
        if (word.length() > longest_word_length) {
            longest_word = word;
            longest_word_length = word.length();
        }
        if (word.find('-') != std::string::npos) {
            words_with_hyphen++;
        }
    }
    return "Количество слов: " + std::to_string(num_words) + "\nКоличество слов начинающихся с заглавной кириллической буквы: " + std::to_string(upper_ru_letters) + "\nКоличество слов с латинским символом: " + std::to_string(latin_symbols) + "\nКоличество слов не превышающих 3 символа: " + std::to_string(short_words) + "\nСамое длинное слово: " + longest_word + " (длина " + std::to_string(longest_word_length) + ")\nКоличество слов с дефисом: " + std::to_string(words_with_hyphen);
}

int main() {
    std::string input_text;
    std::cout << "Введите слова, через пробел: ";
    std::getline(std::cin, input_text);
    std::cout << analyze_text(input_text) << std::endl;
    return 0;
}